1 // Created by Antonis Ntit
2 // spanomarias68@gmail.com
3 #pragma once
4
5 #include <string>
6 #include <iostream>
7 #include <fstream>
8 #include <experimental/filesystem>
9 #include <filesystem>
10 #include "libZPlayNET.h"
11
12 namespace SoundPlayer
13 {
14
15 using namespace System;
16 using namespace System::IO;
17 using namespace System::Globalization;
18 using namespace System::Resources;
19 using namespace System::ComponentModel;
20 using namespace System::Collections;
21 using namespace System::Collections::Generic;
22 using namespace System::Windows::Forms;
23 using namespace System::Data;
24 using namespace System::Drawing;
25 using namespace libZPlay;
26 namespace files = std::experimental::filesystem;
27
28 /// <summary>
29 /// Summary for PlayerForm
30 /// </summary>
31 public ref class PlayerForm : public System::Windows::Forms::Form
32 {
33 public:
34 ZPlay ^ player;
35 PlayerForm(void)
36 {
37 InitializeComponent();
38 player = gcnew ZPlay();
39 print("Library Version " + player->GetVersion());
40 resReader = gcnew ResXResourceReader("./PlayerForm.resx");
41 resWriter = gcnew ResXResourceWriter("./PlayerForm.resx");
42 resourcArr = gcnew array<String^>(17)
43 {
44 "b0V", "b1V", "b2V", "b3V", "b4V",
45 "b5V", "b6V", "b7V", "b8V",
46 "soundsDirPath", "enableEqu", "masterVolume",
47 "leftVolume", "rightVolume", "pitchValue", "tempoValue", "rateValue"
48 };
49 reset();
50 clearLabelsInfo();
51 equalizerSet();
52 resourceRead();
53 pathLbl->Text = soundsDirPath;
54 updateTimer->Stop();
55 loadTracks();
56 vuMeterOff();
57 }
58
59
60 private:
61 array<String^> ^resourcArr;
62 String ^ soundsDirPath = "";
63 String^ trackName = "";
64 String^ playingTrack = "";
65 String^ H;
66 String^ M;
67 String^ S;
68 int trackListIndex = 0;
69 int visCounter = 0;
70 int leftChannelVu;
71 int rightChannelVu;
72 int masterVolume;
73 int leftVolume, rightVolume;
74 const int freqBandsCount = 9;
75 ResXResourceReader^ resReader;
76 ResXResourceWriter^ resWriter;
77 TStreamTime timeInfo;
78 TStreamInfo streamInfo;
79 TStreamStatus statusInfo;
80 TStreamTime curPositionTrack;
81 TStreamTime totalLenghtTrack;
82
83
84 #pragma region Windows Form Components
85
86 System::Windows::Forms::ListBox^ trackList;
87 System::Windows::Forms::FolderBrowserDialog^ folderBrowserDialog;
88 System::Windows::Forms::Button^ dirBtn;
89 System::ComponentModel::IContainer^ components;
90 System::Windows::Forms::Label^ pathLbl;
91 System::Windows::Forms::Panel^ playBtnPanel;
92 System::Windows::Forms::Button^ playStopBtn;
93 System::Windows::Forms::Button^ pauseBtn;
94 System::Windows::Forms::Label^ label4;
95 System::Windows::Forms::Label^ label3;
96 System::Windows::Forms::Label^ label2;
97 System::Windows::Forms::Label^ label1;
98 System::Windows::Forms::Label^ label6;
99 System::Windows::Forms::Label^ label5;
100 System::Windows::Forms::Label^ trackLbl;
101 System::Windows::Forms::Label^ yearLbl;
102 System::Windows::Forms::Label^ artistLbl;
103 System::Windows::Forms::Label^ titleLbl;
104 System::Windows::Forms::Label^ totalTimeLbl;
105 System::Windows::Forms::Timer^ updateTimer;
106 System::Windows::Forms::Label^ statusLbl;
107 System::Windows::Forms::Panel^ vuPanel1;
108 System::Windows::Forms::Panel^ vuMeterR;
109 System::Windows::Forms::Panel^ vuMeterL;
110 System::Windows::Forms::Panel^ vuBack2;
111 System::Windows::Forms::Panel^ vuBack1;
112 System::Windows::Forms::Label^ label9;
113 System::Windows::Forms::Label^ label8;
114 System::Windows::Forms::Label^ label7;
115 System::Windows::Forms::Button^ peakR;
116 System::Windows::Forms::Button^ peakL;
117 System::Windows::Forms::Panel^ barPosBack;
118 System::Windows::Forms::Panel^ barPos;
119 System::Windows::Forms::Label^ trackPosLbl;
120 System::Windows::Forms::Panel^ backPanel;
121 System::Windows::Forms::Panel^ equPanel;
122 System::Windows::Forms::TrackBar^ b0;
123 System::Windows::Forms::TrackBar^ b8;
124 System::Windows::Forms::TrackBar^ b7;
125 System::Windows::Forms::TrackBar^ b6;
126 System::Windows::Forms::TrackBar^ b5;
127 System::Windows::Forms::TrackBar^ b4;
128 System::Windows::Forms::TrackBar^ b3;
129 System::Windows::Forms::TrackBar^ b2;
130 System::Windows::Forms::TrackBar^ b1;
131 System::Windows::Forms::Label^ label10;
132 System::Windows::Forms::CheckBox^ equCheck;
133 System::Windows::Forms::Button^ equFlatBtn;
134 System::Windows::Forms::Panel^ masterPanel;
135 System::Windows::Forms::Label^ label11;
136 System::Windows::Forms::Label^ masterVolLbl;
137 System::Windows::Forms::TrackBar^ rightVolBar;
138 System::Windows::Forms::TrackBar^ leftVolBar;
139 System::Windows::Forms::Label^ label12;
140 System::Windows::Forms::Label^ rightVolLbl;
141 System::Windows::Forms::Label^ leftVolLbl;
142 System::Windows::Forms::TrackBar^ rateValBar;
143 System::Windows::Forms::TrackBar^ tempoValBar;
144 System::Windows::Forms::TrackBar^ pitchValBar;
145 System::Windows::Forms::Label^ label13;
146 System::Windows::Forms::Label^ rateLbl;
147 System::Windows::Forms::Label^ tempoLbl;
148 System::Windows::Forms::Label^ pitchLbl;
149 System::Windows::Forms::TrackBar^ masterVolBar;
150 System::Windows::Forms::Button^ nextTrackBtn;
151 System::Windows::Forms::Button^ prevTrackBtn;
152 System::Windows::Forms::Label^ currentTimeLbl;
153 #pragma endregion
154
155
156 /// Read resource file settings
157 void resourceRead()
158 {
159 if (!File::Exists("./PlayerForm.resx")) { return; }
160 int counter = 0;
161 int vol;
162 Double val = 0;
163 for each (DictionaryEntry res in resReader)
164 {
165 switch (counter)
166 {
167 case 0:
168 Double::TryParse(res.Value->ToString(), val);
169 b0->Value = val;
170 break;
171 case 1:
172 Double::TryParse(res.Value->ToString(), val);
173 b1->Value = val;
174 break;
175 case 2:
176 Double::TryParse(res.Value->ToString(), val);
177 b2->Value = val;
178 break;
179 case 3:
180 Double::TryParse(res.Value->ToString(), val);
181 b3->Value = val;
182 break;
183 case 4:
184 Double::TryParse(res.Value->ToString(), val);
185 b4->Value = val;
186 break;
187 case 5:
188 Double::TryParse(res.Value->ToString(), val);
189 b5->Value = val;
190 break;
191 case 6:
192 Double::TryParse(res.Value->ToString(), val);
193 b6->Value = val;
194 break;
195 case 7:
196 Double::TryParse(res.Value->ToString(), val);
197 b7->Value = val;
198 break;
199 case 8:
200 Double::TryParse(res.Value->ToString(), val);
201 b8->Value = val;
202 break;
203 case 9:
204 soundsDirPath = res.Value->ToString();
205 break;
206
207 case 10:
208 bool enbl;
209 Boolean::TryParse(res.Value->ToString(), enbl);
210 equalizerEnable(enbl);
211 break;
212 case 11:
213 vol;
214 int::TryParse(res.Value->ToString(), vol);
215 setMasterVolume(vol);
216 break;
217 case 12:
218 vol;
219 int::TryParse(res.Value->ToString(), vol);
220 setLeftRightVolume(vol, rightVolume);
221 break;
222 case 13:
223 vol;
224 int::TryParse(res.Value->ToString(), vol);
225 setLeftRightVolume(leftVolume, vol);
226 break;
227 case 14:
228 vol;
229 int::TryParse(res.Value->ToString(), vol);
230 setPTR('P', vol);
231 break;
232 case 15:
233 vol;
234 int::TryParse(res.Value->ToString(), vol);
235 setPTR('T', vol);
236 break;
237 case 16:
238 vol;
239 int::TryParse(res.Value->ToString(), vol);
240 setPTR('R', vol);
241 break;
242
243 }
244 counter++;
245 }
246
247 }
248
249
250 /// Write resource file settings
251 void resourceWrite()
252 {
253 for (int i = 0; i < resourcArr->Length; i++)
254 {
255 String^ key = resourcArr[i]->ToString();
256 switch (i)
257 {
258 case 0:
259 resWriter->AddResource(gcnew ResXDataNode(key, b0->Value.ToString()));
260 break;
261 case 1:
262 resWriter->AddResource(gcnew ResXDataNode(key, b1->Value.ToString()));
263 break;
264 case 2:
265 resWriter->AddResource(gcnew ResXDataNode(key, b2->Value.ToString()));
266
267 break;
268 case 3:
269 resWriter->AddResource(gcnew ResXDataNode(key, b3->Value.ToString()));
270 break;
271 case 4:
272 resWriter->AddResource(gcnew ResXDataNode(key, b4->Value.ToString()));
273 break;
274 case 5:
275 resWriter->AddResource(gcnew ResXDataNode(key, b5->Value.ToString()));
276 break;
277 case 6:
278 resWriter->AddResource(gcnew ResXDataNode(key, b6->Value.ToString()));
279 break;
280 case 7:
281 resWriter->AddResource(gcnew ResXDataNode(key, b7->Value.ToString()));
282 break;
283 case 8:
284 resWriter->AddResource(gcnew ResXDataNode(key, b8->Value.ToString()));
285 break;
286 case 9:
287 resWriter->AddResource(gcnew ResXDataNode(key, soundsDirPath));
288 break;
289 case 10:
290 resWriter->AddResource(gcnew ResXDataNode(key, equCheck->Checked.ToString()));
291 break;
292 case 11:
293 resWriter->AddResource(gcnew ResXDataNode(key, masterVolume.ToString()));
294 break;
295 case 12:
296 resWriter->AddResource(gcnew ResXDataNode(key, leftVolume.ToString()));
297 break;
298 case 13:
299 resWriter->AddResource(gcnew ResXDataNode(key, rightVolume.ToString()));
300 break;
301 case 14:
302 resWriter->AddResource(gcnew ResXDataNode(key, pitchValBar->Value.ToString()));
303 break;
304 case 15:
305 resWriter->AddResource(gcnew ResXDataNode(key, tempoValBar->Value.ToString()));
306 break;
307 case 16:
308 resWriter->AddResource(gcnew ResXDataNode(key, rateValBar->Value.ToString()));
309 break;
310 }
311
312 }
313 resWriter->Generate();
314 resWriter->Close();
315 }
316
317 /// Load all tracks in list of selected folder
318 void loadTracks()
319 {
320 if (!Directory::Exists(soundsDirPath)) { return; }
321 trackList->Items->Clear();
322 int filesCount = Directory::GetFiles(soundsDirPath)->Length;
323 for (int i = 0; i < filesCount; i++)
324 {
325 String^ file = Directory::GetFiles(soundsDirPath)[i]->ToString();
326 String^ fileName = FileInfo::FileInfo(file).Name;
327 String^ ext = FileInfo::FileInfo(file).Extension;
328 if (ext == ".mp3" || ext == ".wav")
329 {
330 trackList->Items->Add(fileName);
331 }
332
333 }
334 pathLbl->Text = soundsDirPath;
335 }
336
337 /// Load track file
338 void loadTrackFile(String^ track)
339 {
340 player->OpenFile(track, TStreamFormat::sfAutodetect);
341 loadID3(track);
342 getLeght();
343 }
344
345 /// Start player
346 void startPlayer()
347 {
348 if (!updateTimer->Enabled) { updateTimer->Start(); }
349 trackLbl->Text = trackName;
350 player->GetPosition(curPositionTrack);
351 player->PlayLoop(TTimeFormat::tfSecond, curPositionTrack, TTimeFormat::tfSecond, totalLenghtTrack, 1, false);
352 playStopBtn->Text = "Stop";
353 statusLbl->Text = "PLAY";
354 player->GetStatus(statusInfo);
355 }
356
357 /// Stop player
358 void stopPlayer()
359 {
360 if (updateTimer->Enabled) { updateTimer->Stop(); }
361 vuMeterOff();
362 player->StopPlayback();
363 playStopBtn->Text = "Play";
364 statusLbl->Text = "STOP";
365 statusLbl->Visible = true;
366 }
367
368 /// Pause player
369 void pausePlayer()
370 {
371 player->GetStatus(statusInfo);
372 if (statusInfo.fPause || !statusInfo.fPlay) { return; }
373 player->PausePlayback();
374 player->GetStatus(statusInfo);
375 playStopBtn->Text = "Play";
376 statusLbl->Text = "PAUSE";
377 vuMeterOff();
378 }
379
380 /// Next track load and play
381 void nextTrack()
382 {
383 if (trackList->Items->Count == 0) { return; }
384 stopPlayer();
385 trackListIndex++;
386 if (trackListIndex >= trackList->Items->Count - 1) { trackListIndex = 0; }
387 trackList->SelectedIndex = trackListIndex;
388 trackName = trackList->SelectedItem->ToString();
389 playingTrack = soundsDirPath + "/" + trackName;
390 loadTrackFile(playingTrack);
391 startPlayer();
392 }
393
394 /// Previous track load and play
395 void previousTrack()
396 {
397 if (trackList->Items->Count == 0) { return; }
398 stopPlayer();
399 trackListIndex--;
400 if (trackListIndex < 0) { trackListIndex = trackList->Items->Count - 1; }
401 trackList->SelectedIndex = trackListIndex;
402 trackName = trackList->SelectedItem->ToString();
403 playingTrack = soundsDirPath + "/" + trackName;
404 loadTrackFile(playingTrack);
405 startPlayer();
406 }
407
408 /// Load track information
409 void loadID3(String^ track)
410 {
411 clearLabelsInfo();
412 libZPlay::TID3InfoEx info;
413 if (player->LoadID3Ex(info, true))
414 {
415 titleLbl->Text = info.Title;
416 artistLbl->Text = info.Artist;
417 yearLbl->Text = info.Year;
418 }
419
420 }
421
422 /// VuMeter
423 void vuMeter()
424 {
425 if (player != nullptr && !statusInfo.fPause)
426 {
427 player->GetVUData(leftChannelVu, rightChannelVu);
428 vuMeterL->Height = 200 - (leftChannelVu * 2);
429 vuMeterR->Height = 200 - (rightChannelVu * 2);
430 if (leftChannelVu > 85)
431 {
432 if (leftChannelVu > 95) { peakL->BackColor = Color::Red; }
433 else { peakL->BackColor = Color::Yellow; }
434 }
435 else { peakL->BackColor = Color::Black; }
436
437 if (rightChannelVu > 85)
438 {
439 if (rightChannelVu > 95) { peakR->BackColor = Color::Red; }
440 else { peakR->BackColor = Color::Yellow; }
441 }
442 else { peakR->BackColor = Color::Black; }
443
444 }
445 }
446
447 /// Off vu meter
448 void vuMeterOff()
449 {
450 vuMeterL->Height = 200;
451 vuMeterR->Height = 200;
452 peakL->BackColor = Color::Black;
453 peakR->BackColor = Color::Black;
454 }
455
456 /// Get track position
457 void getPosition()
458 {
459 player->GetPosition(timeInfo);
460 player->GetStatus(statusInfo);
461 int hour = timeInfo.hms.hour;
462 int min = timeInfo.hms.minute;
463 int sec = timeInfo.hms.second;
464 H = hour > 9 ? "" : "0";
465 M = min > 9 ? "" : "0";
466 S = sec > 9 ? "" : "0";
467 currentTimeLbl->Text = H + hour + "." + M + min + "." + S + sec;
468 if (timeInfo.sec == 0 && !statusInfo.fPlay && !statusInfo.fPause) { updateTimer->Stop(); nextTrack(); }
469 setTrackBar();
470 }
471
472 /// Set track new position
473 void setTrackPosition()
474 {
475 double cursorPosX = barPos->PointToClient(Cursor->Position).X;
476 double newPos = (cursorPosX / 300) *totalLenghtTrack.sec;
477 TStreamTime time;
478 time.sec = newPos;
479 player->Seek(TTimeFormat::tfSecond, time, TSeekMethod::smFromBeginning);
480 }
481
482 /// Set bar position of track
483 void setTrackBar()
484 {
485 double curTime = timeInfo.sec;
486 double totalTime = totalLenghtTrack.sec;
487 double pos = (curTime / totalTime) * 300;
488 double posPerc = (curTime / totalTime) * 100;
489 barPos->Width = pos;
490 trackPosLbl->Text = Math::Round(posPerc) + "%";
491 }
492
493 /// Get track lenght
494 void getLeght()
495 {
496 player->GetStreamInfo(streamInfo);
497 int hour = streamInfo.Length.hms.hour;
498 int min = streamInfo.Length.hms.minute;
499 int sec = streamInfo.Length.hms.second;
500 String^ H;
501 String^ M;
502 String^ S;
503 H = hour > 9 ? "" : "0";
504 M = min > 9 ? "" : "0";
505 S = sec > 9 ? "" : "0";
506 totalTimeLbl->Text = H + hour + "." + M + min + "." + S + sec;
507 totalLenghtTrack = streamInfo.Length;
508 }
509
510 /// Clear all label info
511 void clearLabelsInfo()
512 {
513 trackLbl->Text = "";
514 artistLbl->Text = "";
515 titleLbl->Text = "";
516 yearLbl->Text = "";
517 currentTimeLbl->Text = "";
518 totalTimeLbl->Text = "";
519 statusLbl->Text = "";
520 }
521
522 /// Convert std::string to System::String
523 String^ convertToString(std::string str)
524 {
525 return gcnew String(str.c_str());
526 }
527
528 /// Equalizer enable disable
529 void equalizerEnable(bool enable)
530 {
531 player->EnableEqualizer(enable);
532 equCheck->Checked = enable;
533 }
534
535 /// Equalizer set band parameters
536 void equalizerSet()
537 {
538 array<int> ^freqBands = gcnew array<int>(freqBandsCount) { 100, 200, 300, 1000, 2000, 3000, 5000, 7000, 12000 };
539 if (player != nullptr)
540 {
541 player->SetEqualizerPoints(freqBands, 9);
542 }
543 }
544
545 /// Equalizer change
546 void equalizerChange(int band, int value)
547 {
548 player->SetEqualizerBandGain(band, value);
549 }
550
551 /// Equalizer flat
552 void equalizerFlat()
553 {
554 for each (Control^ control in equPanel->Controls)
555 {
556 if (control->Name->IndexOf("b") == 0)
557 {
558 int numBand = 0;
559 int::TryParse(control->Name->Substring(1), numBand);
560 TrackBar^ bar = dynamic_cast<TrackBar^> (control);
561 bar->Value = 0;
562 }
563
564 }
565 }
566
567 /// Set master Volume
568 void setMasterVolume(int vol)
569 {
570 player->SetMasterVolume(vol, vol);
571 masterVolume = vol;
572 masterVolLbl->Text = vol.ToString();
573 masterVolBar->Value = vol;
574 }
575
576 /// Set Left Right volume
577 void setLeftRightVolume(int left, int right)
578 {
579 player->SetPlayerVolume(left, right);
580 leftVolume = left;
581 rightVolume = right;
582 leftVolBar->Value = left;
583 rightVolBar->Value = right;
584 leftVolLbl->Text = left.ToString();
585 rightVolLbl->Text = right.ToString();
586 }
587
588 /// Set PTR (Pitch Tempo Rate)
589 void setPTR(char cmd, int val)
590 {
591 switch (cmd)
592 {
593 case 'P':
594 if (player->GetPitch() == 100 && val == 100) { return; }
595 player->SetPitch(val);
596 pitchValBar->Value = val;
597 pitchLbl->Text = val.ToString();
598 break;
599 case 'T':
600 if (player->GetTempo() == 100 && val == 100) { return; }
601 player->SetTempo(val);
602 tempoValBar->Value = val;
603 tempoLbl->Text = val.ToString();
604 break;
605 case 'R':
606 if (player->GetRate() == 100 && val == 100) { return; }
607 player->SetRate(val);
608 rateValBar->Value = val;
609 rateLbl->Text = val.ToString();
610 break;
611 }
612
613 }
614
615 /// Reset
616 void reset()
617 {
618 masterVolume = 100;
619 leftVolume = 100;
620 rightVolume = 100;
621 equalizerFlat();
622 masterVolBar->Value = masterVolume;
623 setMasterVolume(masterVolume);
624 setLeftRightVolume(leftVolume, rightVolume);
625 }
626
627 #pragma region print function ovverloading
628 //Print in outpout window
629 void print(System::String^ arg)
630 {
631 Diagnostics::Debug::WriteLine(arg);
632 }
633 void print(int arg)
634 {
635 Diagnostics::Debug::WriteLine(arg.ToString());
636 }
637 void print(double arg)
638 {
639 Diagnostics::Debug::WriteLine(arg.ToString());
640 }
641
642 #pragma endregion
643
644
645 #pragma region Windows Form Designer generated code
646 /// <summary>
647 /// Required method for Designer support - do not modify
648 /// the contents of this method with the code editor.
649 /// </summary>
650 void InitializeComponent(void)
651 {
652 this->components = (gcnew System::ComponentModel::Container());
653 this->trackList = (gcnew System::Windows::Forms::ListBox());
654 this->folderBrowserDialog = (gcnew System::Windows::Forms::FolderBrowserDialog());
655 this->dirBtn = (gcnew System::Windows::Forms::Button());
656 this->pathLbl = (gcnew System::Windows::Forms::Label());
657 this->playBtnPanel = (gcnew System::Windows::Forms::Panel());
658 this->trackPosLbl = (gcnew System::Windows::Forms::Label());
659 this->barPos = (gcnew System::Windows::Forms::Panel());
660 this->barPosBack = (gcnew System::Windows::Forms::Panel());
661 this->statusLbl = (gcnew System::Windows::Forms::Label());
662 this->totalTimeLbl = (gcnew System::Windows::Forms::Label());
663 this->currentTimeLbl = (gcnew System::Windows::Forms::Label());
664 this->yearLbl = (gcnew System::Windows::Forms::Label());
665 this->artistLbl = (gcnew System::Windows::Forms::Label());
666 this->titleLbl = (gcnew System::Windows::Forms::Label());
667 this->trackLbl = (gcnew System::Windows::Forms::Label());
668 this->label6 = (gcnew System::Windows::Forms::Label());
669 this->label5 = (gcnew System::Windows::Forms::Label());
670 this->label4 = (gcnew System::Windows::Forms::Label());
671 this->label3 = (gcnew System::Windows::Forms::Label());
672 this->label2 = (gcnew System::Windows::Forms::Label());
673 this->label1 = (gcnew System::Windows::Forms::Label());
674 this->pauseBtn = (gcnew System::Windows::Forms::Button());
675 this->playStopBtn = (gcnew System::Windows::Forms::Button());
676 this->updateTimer = (gcnew System::Windows::Forms::Timer(this->components));
677 this->vuPanel1 = (gcnew System::Windows::Forms::Panel());
678 this->peakR = (gcnew System::Windows::Forms::Button());
679 this->peakL = (gcnew System::Windows::Forms::Button());
680 this->label9 = (gcnew System::Windows::Forms::Label());
681 this->label8 = (gcnew System::Windows::Forms::Label());
682 this->label7 = (gcnew System::Windows::Forms::Label());
683 this->vuMeterR = (gcnew System::Windows::Forms::Panel());
684 this->vuMeterL = (gcnew System::Windows::Forms::Panel());
685 this->vuBack2 = (gcnew System::Windows::Forms::Panel());
686 this->vuBack1 = (gcnew System::Windows::Forms::Panel());
687 this->backPanel = (gcnew System::Windows::Forms::Panel());
688 this->equPanel = (gcnew System::Windows::Forms::Panel());
689 this->equFlatBtn = (gcnew System::Windows::Forms::Button());
690 this->equCheck = (gcnew System::Windows::Forms::CheckBox());
691 this->label10 = (gcnew System::Windows::Forms::Label());
692 this->b8 = (gcnew System::Windows::Forms::TrackBar());
693 this->b7 = (gcnew System::Windows::Forms::TrackBar());
694 this->b6 = (gcnew System::Windows::Forms::TrackBar());
695 this->b5 = (gcnew System::Windows::Forms::TrackBar());
696 this->b4 = (gcnew System::Windows::Forms::TrackBar());
697 this->b3 = (gcnew System::Windows::Forms::TrackBar());
698 this->b2 = (gcnew System::Windows::Forms::TrackBar());
699 this->b1 = (gcnew System::Windows::Forms::TrackBar());
700 this->b0 = (gcnew System::Windows::Forms::TrackBar());
701 this->masterPanel = (gcnew System::Windows::Forms::Panel());
702 this->rateLbl = (gcnew System::Windows::Forms::Label());
703 this->tempoLbl = (gcnew System::Windows::Forms::Label());
704 this->pitchLbl = (gcnew System::Windows::Forms::Label());
705 this->label13 = (gcnew System::Windows::Forms::Label());
706 this->rateValBar = (gcnew System::Windows::Forms::TrackBar());
707 this->tempoValBar = (gcnew System::Windows::Forms::TrackBar());
708 this->pitchValBar = (gcnew System::Windows::Forms::TrackBar());
709 this->rightVolLbl = (gcnew System::Windows::Forms::Label());
710 this->leftVolLbl = (gcnew System::Windows::Forms::Label());
711 this->label12 = (gcnew System::Windows::Forms::Label());
712 this->rightVolBar = (gcnew System::Windows::Forms::TrackBar());
713 this->leftVolBar = (gcnew System::Windows::Forms::TrackBar());
714 this->masterVolLbl = (gcnew System::Windows::Forms::Label());
715 this->label11 = (gcnew System::Windows::Forms::Label());
716 this->masterVolBar = (gcnew System::Windows::Forms::TrackBar());
717 this->prevTrackBtn = (gcnew System::Windows::Forms::Button());
718 this->nextTrackBtn = (gcnew System::Windows::Forms::Button());
719 this->playBtnPanel->SuspendLayout();
720 this->vuPanel1->SuspendLayout();
721 this->backPanel->SuspendLayout();
722 this->equPanel->SuspendLayout();
723 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b8))->BeginInit();
724 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b7))->BeginInit();
725 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b6))->BeginInit();
726 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b5))->BeginInit();
727 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b4))->BeginInit();
728 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b3))->BeginInit();
729 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b2))->BeginInit();
730 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b1))->BeginInit();
731 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b0))->BeginInit();
732 this->masterPanel->SuspendLayout();
733 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->rateValBar))->BeginInit();
734 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->tempoValBar))->BeginInit();
735 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->pitchValBar))->BeginInit();
736 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->rightVolBar))->BeginInit();
737 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->leftVolBar))->BeginInit();
738 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->masterVolBar))->BeginInit();
739 this->SuspendLayout();
740 //
741 // trackList
742 //
743 this->trackList->BackColor = System::Drawing::Color::SteelBlue;
744 this->trackList->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
745 static_cast<System::Byte>(161)));
746 this->trackList->ForeColor = System::Drawing::Color::AliceBlue;
747 this->trackList->FormattingEnabled = true;
748 this->trackList->HorizontalScrollbar = true;
749 this->trackList->ItemHeight = 16;
750 this->trackList->Location = System::Drawing::Point(2, 187);
751 this->trackList->Name = L"trackList";
752 this->trackList->Size = System::Drawing::Size(464, 244);
753 this->trackList->TabIndex = 0;
754 this->trackList->SelectedIndexChanged += gcnew System::EventHandler(this, &PlayerForm::trackList_SelectedIndexChanged);
755 this->trackList->MouseDoubleClick += gcnew System::Windows::Forms::MouseEventHandler(this, &PlayerForm::trackList_MouseDoubleClick);
756 //
757 // dirBtn
758 //
759 this->dirBtn->Location = System::Drawing::Point(2, 158);
760 this->dirBtn->Name = L"dirBtn";
761 this->dirBtn->Size = System::Drawing::Size(95, 23);
762 this->dirBtn->TabIndex = 1;
763 this->dirBtn->Text = L"Sounds Folder";
764 this->dirBtn->UseVisualStyleBackColor = true;
765 this->dirBtn->Click += gcnew System::EventHandler(this, &PlayerForm::dirBtn_Click);
766 //
767 // pathLbl
768 //
769 this->pathLbl->AutoSize = true;
770 this->pathLbl->Location = System::Drawing::Point(102, 165);
771 this->pathLbl->Name = L"pathLbl";
772 this->pathLbl->Size = System::Drawing::Size(35, 13);
773 this->pathLbl->TabIndex = 2;
774 this->pathLbl->Text = L"Path=";
775 //
776 // playBtnPanel
777 //
778 this->playBtnPanel->BackColor = System::Drawing::Color::SteelBlue;
779 this->playBtnPanel->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch;
780 this->playBtnPanel->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
781 this->playBtnPanel->Controls->Add(this->trackPosLbl);
782 this->playBtnPanel->Controls->Add(this->barPos);
783 this->playBtnPanel->Controls->Add(this->barPosBack);
784 this->playBtnPanel->Controls->Add(this->statusLbl);
785 this->playBtnPanel->Controls->Add(this->totalTimeLbl);
786 this->playBtnPanel->Controls->Add(this->currentTimeLbl);
787 this->playBtnPanel->Controls->Add(this->yearLbl);
788 this->playBtnPanel->Controls->Add(this->artistLbl);
789 this->playBtnPanel->Controls->Add(this->titleLbl);
790 this->playBtnPanel->Controls->Add(this->trackLbl);
791 this->playBtnPanel->Controls->Add(this->label6);
792 this->playBtnPanel->Controls->Add(this->label5);
793 this->playBtnPanel->Controls->Add(this->label4);
794 this->playBtnPanel->Controls->Add(this->label3);
795 this->playBtnPanel->Controls->Add(this->label2);
796 this->playBtnPanel->Controls->Add(this->label1);
797 this->playBtnPanel->Location = System::Drawing::Point(2, 4);
798 this->playBtnPanel->Name = L"playBtnPanel";
799 this->playBtnPanel->Size = System::Drawing::Size(464, 148);
800 this->playBtnPanel->TabIndex = 3;
801 //
802 // trackPosLbl
803 //
804 this->trackPosLbl->AutoSize = true;
805 this->trackPosLbl->BackColor = System::Drawing::Color::Transparent;
806 this->trackPosLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
807 static_cast<System::Byte>(161)));
808 this->trackPosLbl->ForeColor = System::Drawing::Color::Azure;
809 this->trackPosLbl->Location = System::Drawing::Point(426, 119);
810 this->trackPosLbl->Name = L"trackPosLbl";
811 this->trackPosLbl->Size = System::Drawing::Size(35, 14);
812 this->trackPosLbl->TabIndex = 15;
813 this->trackPosLbl->Text = L"100%";
814 //
815 // barPos
816 //
817 this->barPos->BackColor = System::Drawing::SystemColors::ActiveCaption;
818 this->barPos->Cursor = System::Windows::Forms::Cursors::Hand;
819 this->barPos->Location = System::Drawing::Point(124, 119);
820 this->barPos->Name = L"barPos";
821 this->barPos->Size = System::Drawing::Size(300, 12);
822 this->barPos->TabIndex = 14;
823 this->barPos->MouseClick += gcnew System::Windows::Forms::MouseEventHandler(this, &PlayerForm::barPosBack_MouseClick);
824 //
825 // barPosBack
826 //
827 this->barPosBack->BackColor = System::Drawing::SystemColors::ControlDarkDark;
828 this->barPosBack->Cursor = System::Windows::Forms::Cursors::Hand;
829 this->barPosBack->Location = System::Drawing::Point(122, 116);
830 this->barPosBack->Name = L"barPosBack";
831 this->barPosBack->Size = System::Drawing::Size(305, 17);
832 this->barPosBack->TabIndex = 13;
833 this->barPosBack->MouseClick += gcnew System::Windows::Forms::MouseEventHandler(this, &PlayerForm::barPosBack_MouseClick);
834 //
835 // statusLbl
836 //
837 this->statusLbl->AutoSize = true;
838 this->statusLbl->BackColor = System::Drawing::Color::Transparent;
839 this->statusLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 15.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
840 static_cast<System::Byte>(161)));
841 this->statusLbl->ForeColor = System::Drawing::Color::Honeydew;
842 this->statusLbl->Location = System::Drawing::Point(9, 59);
843 this->statusLbl->Name = L"statusLbl";
844 this->statusLbl->Size = System::Drawing::Size(58, 24);
845 this->statusLbl->TabIndex = 12;
846 this->statusLbl->Text = L"PLAY";
847 //
848 // totalTimeLbl
849 //
850 this->totalTimeLbl->AutoSize = true;
851 this->totalTimeLbl->BackColor = System::Drawing::Color::Transparent;
852 this->totalTimeLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
853 static_cast<System::Byte>(161)));
854 this->totalTimeLbl->ForeColor = System::Drawing::Color::Azure;
855 this->totalTimeLbl->Location = System::Drawing::Point(7, 115);
856 this->totalTimeLbl->Name = L"totalTimeLbl";
857 this->totalTimeLbl->Size = System::Drawing::Size(81, 19);
858 this->totalTimeLbl->TabIndex = 11;
859 this->totalTimeLbl->Text = L"00:00:00";
860 //
861 // currentTimeLbl
862 //
863 this->currentTimeLbl->AutoSize = true;
864 this->currentTimeLbl->BackColor = System::Drawing::Color::Transparent;
865 this->currentTimeLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
866 static_cast<System::Byte>(161)));
867 this->currentTimeLbl->ForeColor = System::Drawing::Color::Azure;
868 this->currentTimeLbl->Location = System::Drawing::Point(8, 23);
869 this->currentTimeLbl->Name = L"currentTimeLbl";
870 this->currentTimeLbl->Size = System::Drawing::Size(81, 19);
871 this->currentTimeLbl->TabIndex = 10;
872 this->currentTimeLbl->Text = L"00:00:00";
873 //
874 // yearLbl
875 //
876 this->yearLbl->AutoSize = true;
877 this->yearLbl->BackColor = System::Drawing::Color::Transparent;
878 this->yearLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
879 static_cast<System::Byte>(161)));
880 this->yearLbl->ForeColor = System::Drawing::Color::Azure;
881 this->yearLbl->Location = System::Drawing::Point(215, 96);
882 this->yearLbl->Name = L"yearLbl";
883 this->yearLbl->Size = System::Drawing::Size(23, 17);
884 this->yearLbl->TabIndex = 9;
885 this->yearLbl->Text = L"---";
886 //
887 // artistLbl
888 //
889 this->artistLbl->AutoSize = true;
890 this->artistLbl->BackColor = System::Drawing::Color::Transparent;
891 this->artistLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
892 static_cast<System::Byte>(161)));
893 this->artistLbl->ForeColor = System::Drawing::Color::Azure;
894 this->artistLbl->Location = System::Drawing::Point(215, 66);
895 this->artistLbl->Name = L"artistLbl";
896 this->artistLbl->Size = System::Drawing::Size(23, 17);
897 this->artistLbl->TabIndex = 8;
898 this->artistLbl->Text = L"---";
899 //
900 // titleLbl
901 //
902 this->titleLbl->AutoSize = true;
903 this->titleLbl->BackColor = System::Drawing::Color::Transparent;
904 this->titleLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
905 static_cast<System::Byte>(161)));
906 this->titleLbl->ForeColor = System::Drawing::Color::Azure;
907 this->titleLbl->Location = System::Drawing::Point(215, 36);
908 this->titleLbl->Name = L"titleLbl";
909 this->titleLbl->Size = System::Drawing::Size(23, 17);
910 this->titleLbl->TabIndex = 7;
911 this->titleLbl->Text = L"---";
912 //
913 // trackLbl
914 //
915 this->trackLbl->AutoSize = true;
916 this->trackLbl->BackColor = System::Drawing::Color::Transparent;
917 this->trackLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
918 static_cast<System::Byte>(161)));
919 this->trackLbl->ForeColor = System::Drawing::Color::Azure;
920 this->trackLbl->Location = System::Drawing::Point(215, 7);
921 this->trackLbl->Name = L"trackLbl";
922 this->trackLbl->Size = System::Drawing::Size(19, 15);
923 this->trackLbl->TabIndex = 6;
924 this->trackLbl->Text = L"---";
925 //
926 // label6
927 //
928 this->label6->AutoSize = true;
929 this->label6->BackColor = System::Drawing::Color::Transparent;
930 this->label6->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
931 static_cast<System::Byte>(161)));
932 this->label6->ForeColor = System::Drawing::Color::LightBlue;
933 this->label6->Location = System::Drawing::Point(8, 98);
934 this->label6->Name = L"label6";
935 this->label6->Size = System::Drawing::Size(75, 17);
936 this->label6->TabIndex = 5;
937 this->label6->Text = L"Total Time";
938 //
939 // label5
940 //
941 this->label5->AutoSize = true;
942 this->label5->BackColor = System::Drawing::Color::Transparent;
943 this->label5->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
944 static_cast<System::Byte>(161)));
945 this->label5->ForeColor = System::Drawing::Color::LightBlue;
946 this->label5->Location = System::Drawing::Point(8, 6);
947 this->label5->Name = L"label5";
948 this->label5->Size = System::Drawing::Size(90, 17);
949 this->label5->TabIndex = 4;
950 this->label5->Text = L"Current Time";
951 //
952 // label4
953 //
954 this->label4->AutoSize = true;
955 this->label4->BackColor = System::Drawing::Color::Transparent;
956 this->label4->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
957 static_cast<System::Byte>(161)));
958 this->label4->ForeColor = System::Drawing::Color::LightBlue;
959 this->label4->Location = System::Drawing::Point(167, 96);
960 this->label4->Name = L"label4";
961 this->label4->Size = System::Drawing::Size(42, 17);
962 this->label4->TabIndex = 3;
963 this->label4->Text = L"Year:";
964 //
965 // label3
966 //
967 this->label3->AutoSize = true;
968 this->label3->BackColor = System::Drawing::Color::Transparent;
969 this->label3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
970 static_cast<System::Byte>(161)));
971 this->label3->ForeColor = System::Drawing::Color::LightBlue;
972 this->label3->Location = System::Drawing::Point(166, 66);
973 this->label3->Name = L"label3";
974 this->label3->Size = System::Drawing::Size(44, 17);
975 this->label3->TabIndex = 2;
976 this->label3->Text = L"Artist:";
977 //
978 // label2
979 //
980 this->label2->AutoSize = true;
981 this->label2->BackColor = System::Drawing::Color::Transparent;
982 this->label2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
983 static_cast<System::Byte>(161)));
984 this->label2->ForeColor = System::Drawing::Color::LightBlue;
985 this->label2->Location = System::Drawing::Point(170, 36);
986 this->label2->Name = L"label2";
987 this->label2->Size = System::Drawing::Size(39, 17);
988 this->label2->TabIndex = 1;
989 this->label2->Text = L"Title:";
990 //
991 // label1
992 //
993 this->label1->AutoSize = true;
994 this->label1->BackColor = System::Drawing::Color::Transparent;
995 this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
996 static_cast<System::Byte>(161)));
997 this->label1->ForeColor = System::Drawing::Color::LightBlue;
998 this->label1->Location = System::Drawing::Point(122, 6);
999 this->label1->Name = L"label1";
1000 this->label1->Size = System::Drawing::Size(87, 17);
1001 this->label1->TabIndex = 0;
1002 this->label1->Text = L"Track name:";
1003 //
1004 // pauseBtn
1005 //
1006 this->pauseBtn->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1007 static_cast<System::Byte>(161)));
1008 this->pauseBtn->Location = System::Drawing::Point(87, 3);
1009 this->pauseBtn->Name = L"pauseBtn";
1010 this->pauseBtn->Size = System::Drawing::Size(75, 35);
1011 this->pauseBtn->TabIndex = 1;
1012 this->pauseBtn->Text = L"Pause";
1013 this->pauseBtn->UseVisualStyleBackColor = true;
1014 this->pauseBtn->Click += gcnew System::EventHandler(this, &PlayerForm::pauseBtn_Click);
1015 //
1016 // playStopBtn
1017 //
1018 this->playStopBtn->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1019 static_cast<System::Byte>(161)));
1020 this->playStopBtn->Location = System::Drawing::Point(3, 3);
1021 this->playStopBtn->Name = L"playStopBtn";
1022 this->playStopBtn->Size = System::Drawing::Size(75, 35);
1023 this->playStopBtn->TabIndex = 0;
1024 this->playStopBtn->Text = L"Play";
1025 this->playStopBtn->UseVisualStyleBackColor = true;
1026 this->playStopBtn->Click += gcnew System::EventHandler(this, &PlayerForm::playStopBtn_Click);
1027 //
1028 // updateTimer
1029 //
1030 this->updateTimer->Tick += gcnew System::EventHandler(this, &PlayerForm::updateTimer_Tick);
1031 //
1032 // vuPanel1
1033 //
1034 this->vuPanel1->Anchor = System::Windows::Forms::AnchorStyles::None;
1035 this->vuPanel1->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1036 this->vuPanel1->Controls->Add(this->peakR);
1037 this->vuPanel1->Controls->Add(this->peakL);
1038 this->vuPanel1->Controls->Add(this->label9);
1039 this->vuPanel1->Controls->Add(this->label8);
1040 this->vuPanel1->Controls->Add(this->label7);
1041 this->vuPanel1->Controls->Add(this->vuMeterR);
1042 this->vuPanel1->Controls->Add(this->vuMeterL);
1043 this->vuPanel1->Controls->Add(this->vuBack2);
1044 this->vuPanel1->Controls->Add(this->vuBack1);
1045 this->vuPanel1->Location = System::Drawing::Point(803, 187);
1046 this->vuPanel1->Name = L"vuPanel1";
1047 this->vuPanel1->Size = System::Drawing::Size(75, 244);
1048 this->vuPanel1->TabIndex = 4;
1049 //
1050 // peakR
1051 //
1052 this->peakR->BackColor = System::Drawing::Color::Black;
1053 this->peakR->Enabled = false;
1054 this->peakR->ForeColor = System::Drawing::SystemColors::ControlDarkDark;
1055 this->peakR->Location = System::Drawing::Point(45, 2);
1056 this->peakR->Name = L"peakR";
1057 this->peakR->Size = System::Drawing::Size(20, 15);
1058 this->peakR->TabIndex = 16;
1059 this->peakR->UseVisualStyleBackColor = false;
1060 //
1061 // peakL
1062 //
1063 this->peakL->BackColor = System::Drawing::Color::Black;
1064 this->peakL->Enabled = false;
1065 this->peakL->ForeColor = System::Drawing::SystemColors::ControlDarkDark;
1066 this->peakL->Location = System::Drawing::Point(6, 2);
1067 this->peakL->Name = L"peakL";
1068 this->peakL->Size = System::Drawing::Size(20, 15);
1069 this->peakL->TabIndex = 5;
1070 this->peakL->UseVisualStyleBackColor = false;
1071 //
1072 // label9
1073 //
1074 this->label9->AutoSize = true;
1075 this->label9->BackColor = System::Drawing::Color::Transparent;
1076 this->label9->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1077 static_cast<System::Byte>(161)));
1078 this->label9->ForeColor = System::Drawing::Color::LightBlue;
1079 this->label9->Location = System::Drawing::Point(48, 15);
1080 this->label9->Name = L"label9";
1081 this->label9->Size = System::Drawing::Size(16, 15);
1082 this->label9->TabIndex = 15;
1083 this->label9->Text = L"R";
1084 //
1085 // label8
1086 //
1087 this->label8->AutoSize = true;
1088 this->label8->BackColor = System::Drawing::Color::Transparent;
1089 this->label8->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1090 static_cast<System::Byte>(161)));
1091 this->label8->ForeColor = System::Drawing::Color::LightBlue;
1092 this->label8->Location = System::Drawing::Point(10, 15);
1093 this->label8->Name = L"label8";
1094 this->label8->Size = System::Drawing::Size(14, 15);
1095 this->label8->TabIndex = 14;
1096 this->label8->Text = L"L";
1097 //
1098 // label7
1099 //
1100 this->label7->AutoSize = true;
1101 this->label7->BackColor = System::Drawing::Color::Transparent;
1102 this->label7->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1103 static_cast<System::Byte>(161)));
1104 this->label7->ForeColor = System::Drawing::Color::LightBlue;
1105 this->label7->Location = System::Drawing::Point(25, 0);
1106 this->label7->Name = L"label7";
1107 this->label7->Size = System::Drawing::Size(23, 15);
1108 this->label7->TabIndex = 13;
1109 this->label7->Text = L"VU";
1110 //
1111 // vuMeterR
1112 //
1113 this->vuMeterR->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1114 this->vuMeterR->Location = System::Drawing::Point(42, 40);
1115 this->vuMeterR->Name = L"vuMeterR";
1116 this->vuMeterR->Size = System::Drawing::Size(24, 200);
1117 this->vuMeterR->TabIndex = 2;
1118 //
1119 // vuMeterL
1120 //
1121 this->vuMeterL->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1122 this->vuMeterL->Location = System::Drawing::Point(7, 40);
1123 this->vuMeterL->Name = L"vuMeterL";
1124 this->vuMeterL->Size = System::Drawing::Size(24, 200);
1125 this->vuMeterL->TabIndex = 1;
1126 //
1127 // vuBack2
1128 //
1129 this->vuBack2->BackColor = System::Drawing::SystemColors::MenuHighlight;
1130 this->vuBack2->Location = System::Drawing::Point(42, 40);
1131 this->vuBack2->Name = L"vuBack2";
1132 this->vuBack2->Size = System::Drawing::Size(24, 200);
1133 this->vuBack2->TabIndex = 1;
1134 //
1135 // vuBack1
1136 //
1137 this->vuBack1->BackColor = System::Drawing::SystemColors::MenuHighlight;
1138 this->vuBack1->Location = System::Drawing::Point(7, 40);
1139 this->vuBack1->Name = L"vuBack1";
1140 this->vuBack1->Size = System::Drawing::Size(24, 200);
1141 this->vuBack1->TabIndex = 0;
1142 //
1143 // backPanel
1144 //
1145 this->backPanel->BackColor = System::Drawing::Color::SteelBlue;
1146 this->backPanel->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
1147 this->backPanel->Controls->Add(this->nextTrackBtn);
1148 this->backPanel->Controls->Add(this->prevTrackBtn);
1149 this->backPanel->Controls->Add(this->equPanel);
1150 this->backPanel->Controls->Add(this->pauseBtn);
1151 this->backPanel->Controls->Add(this->playStopBtn);
1152 this->backPanel->Location = System::Drawing::Point(470, 4);
1153 this->backPanel->Name = L"backPanel";
1154 this->backPanel->Size = System::Drawing::Size(408, 149);
1155 this->backPanel->TabIndex = 5;
1156 //
1157 // equPanel
1158 //
1159 this->equPanel->BackColor = System::Drawing::Color::Black;
1160 this->equPanel->Controls->Add(this->equFlatBtn);
1161 this->equPanel->Controls->Add(this->equCheck);
1162 this->equPanel->Controls->Add(this->label10);
1163 this->equPanel->Controls->Add(this->b8);
1164 this->equPanel->Controls->Add(this->b7);
1165 this->equPanel->Controls->Add(this->b6);
1166 this->equPanel->Controls->Add(this->b5);
1167 this->equPanel->Controls->Add(this->b4);
1168 this->equPanel->Controls->Add(this->b3);
1169 this->equPanel->Controls->Add(this->b2);
1170 this->equPanel->Controls->Add(this->b1);
1171 this->equPanel->Controls->Add(this->b0);
1172 this->equPanel->Location = System::Drawing::Point(3, 40);
1173 this->equPanel->Name = L"equPanel";
1174 this->equPanel->Size = System::Drawing::Size(402, 109);
1175 this->equPanel->TabIndex = 2;
1176 //
1177 // equFlatBtn
1178 //
1179 this->equFlatBtn->Font = (gcnew System::Drawing::Font(L"Consolas", 2.5F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Millimeter,
1180 static_cast<System::Byte>(161)));
1181 this->equFlatBtn->Location = System::Drawing::Point(350, 90);
1182 this->equFlatBtn->Name = L"equFlatBtn";
1183 this->equFlatBtn->Size = System::Drawing::Size(50, 18);
1184 this->equFlatBtn->TabIndex = 18;
1185 this->equFlatBtn->Text = L"Flat";
1186 this->equFlatBtn->UseVisualStyleBackColor = true;
1187 this->equFlatBtn->Click += gcnew System::EventHandler(this, &PlayerForm::equFlatBtn_Click);
1188 //
1189 // equCheck
1190 //
1191 this->equCheck->AutoSize = true;
1192 this->equCheck->ForeColor = System::Drawing::SystemColors::ActiveCaption;
1193 this->equCheck->Location = System::Drawing::Point(4, 90);
1194 this->equCheck->Name = L"equCheck";
1195 this->equCheck->Size = System::Drawing::Size(105, 17);
1196 this->equCheck->TabIndex = 17;
1197 this->equCheck->Text = L"Enable Equalizer";
1198 this->equCheck->UseVisualStyleBackColor = true;
1199 this->equCheck->CheckedChanged += gcnew System::EventHandler(this, &PlayerForm::equCheck_CheckedChanged);
1200 //
1201 // label10
1202 //
1203 this->label10->AutoSize = true;
1204 this->label10->BackColor = System::Drawing::Color::Transparent;
1205 this->label10->Font = (gcnew System::Drawing::Font(L"Consolas", 8.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1206 static_cast<System::Byte>(161)));
1207 this->label10->ForeColor = System::Drawing::Color::Azure;
1208 this->label10->Location = System::Drawing::Point(25, 3);
1209 this->label10->Name = L"label10";
1210 this->label10->Size = System::Drawing::Size(355, 13);
1211 this->label10->TabIndex = 16;
1212 this->label10->Text = L"100 200 300 1000 2000 3000 5000 7000 12000";
1213 //
1214 // b8
1215 //
1216 this->b8->Location = System::Drawing::Point(338, 9);
1217 this->b8->Maximum = 12;
1218 this->b8->Minimum = -12;
1219 this->b8->Name = L"b8";
1220 this->b8->Orientation = System::Windows::Forms::Orientation::Vertical;
1221 this->b8->Size = System::Drawing::Size(45, 83);
1222 this->b8->TabIndex = 8;
1223 this->b8->TickStyle = System::Windows::Forms::TickStyle::Both;
1224 this->b8->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1225 //
1226 // b7
1227 //
1228 this->b7->Location = System::Drawing::Point(298, 9);
1229 this->b7->Maximum = 12;
1230 this->b7->Minimum = -12;
1231 this->b7->Name = L"b7";
1232 this->b7->Orientation = System::Windows::Forms::Orientation::Vertical;
1233 this->b7->Size = System::Drawing::Size(45, 83);
1234 this->b7->TabIndex = 7;
1235 this->b7->TickStyle = System::Windows::Forms::TickStyle::Both;
1236 this->b7->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1237 //
1238 // b6
1239 //
1240 this->b6->Location = System::Drawing::Point(258, 9);
1241 this->b6->Maximum = 12;
1242 this->b6->Minimum = -12;
1243 this->b6->Name = L"b6";
1244 this->b6->Orientation = System::Windows::Forms::Orientation::Vertical;
1245 this->b6->Size = System::Drawing::Size(45, 83);
1246 this->b6->TabIndex = 6;
1247 this->b6->TickStyle = System::Windows::Forms::TickStyle::Both;
1248 this->b6->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1249 //
1250 // b5
1251 //
1252 this->b5->Location = System::Drawing::Point(218, 9);
1253 this->b5->Maximum = 12;
1254 this->b5->Minimum = -12;
1255 this->b5->Name = L"b5";
1256 this->b5->Orientation = System::Windows::Forms::Orientation::Vertical;
1257 this->b5->Size = System::Drawing::Size(45, 83);
1258 this->b5->TabIndex = 5;
1259 this->b5->TickStyle = System::Windows::Forms::TickStyle::Both;
1260 this->b5->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1261 //
1262 // b4
1263 //
1264 this->b4->Location = System::Drawing::Point(178, 9);
1265 this->b4->Maximum = 12;
1266 this->b4->Minimum = -12;
1267 this->b4->Name = L"b4";
1268 this->b4->Orientation = System::Windows::Forms::Orientation::Vertical;
1269 this->b4->Size = System::Drawing::Size(45, 83);
1270 this->b4->TabIndex = 4;
1271 this->b4->TickStyle = System::Windows::Forms::TickStyle::Both;
1272 this->b4->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1273 //
1274 // b3
1275 //
1276 this->b3->Location = System::Drawing::Point(138, 9);
1277 this->b3->Maximum = 12;
1278 this->b3->Minimum = -12;
1279 this->b3->Name = L"b3";
1280 this->b3->Orientation = System::Windows::Forms::Orientation::Vertical;
1281 this->b3->Size = System::Drawing::Size(45, 83);
1282 this->b3->TabIndex = 3;
1283 this->b3->TickStyle = System::Windows::Forms::TickStyle::Both;
1284 this->b3->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1285 //
1286 // b2
1287 //
1288 this->b2->Location = System::Drawing::Point(98, 9);
1289 this->b2->Maximum = 12;
1290 this->b2->Minimum = -12;
1291 this->b2->Name = L"b2";
1292 this->b2->Orientation = System::Windows::Forms::Orientation::Vertical;
1293 this->b2->Size = System::Drawing::Size(45, 83);
1294 this->b2->TabIndex = 2;
1295 this->b2->TickStyle = System::Windows::Forms::TickStyle::Both;
1296 this->b2->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1297 //
1298 // b1
1299 //
1300 this->b1->Location = System::Drawing::Point(58, 9);
1301 this->b1->Maximum = 12;
1302 this->b1->Minimum = -12;
1303 this->b1->Name = L"b1";
1304 this->b1->Orientation = System::Windows::Forms::Orientation::Vertical;
1305 this->b1->Size = System::Drawing::Size(45, 83);
1306 this->b1->TabIndex = 1;
1307 this->b1->TickStyle = System::Windows::Forms::TickStyle::Both;
1308 this->b1->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1309 //
1310 // b0
1311 //
1312 this->b0->Location = System::Drawing::Point(18, 9);
1313 this->b0->Maximum = 12;
1314 this->b0->Minimum = -12;
1315 this->b0->Name = L"b0";
1316 this->b0->Orientation = System::Windows::Forms::Orientation::Vertical;
1317 this->b0->Size = System::Drawing::Size(45, 83);
1318 this->b0->TabIndex = 0;
1319 this->b0->TickStyle = System::Windows::Forms::TickStyle::Both;
1320 this->b0->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1321 //
1322 // masterPanel
1323 //
1324 this->masterPanel->BackColor = System::Drawing::Color::Black;
1325 this->masterPanel->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch;
1326 this->masterPanel->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
1327 this->masterPanel->Controls->Add(this->rateLbl);
1328 this->masterPanel->Controls->Add(this->tempoLbl);
1329 this->masterPanel->Controls->Add(this->pitchLbl);
1330 this->masterPanel->Controls->Add(this->label13);
1331 this->masterPanel->Controls->Add(this->rateValBar);
1332 this->masterPanel->Controls->Add(this->tempoValBar);
1333 this->masterPanel->Controls->Add(this->pitchValBar);
1334 this->masterPanel->Controls->Add(this->rightVolLbl);
1335 this->masterPanel->Controls->Add(this->leftVolLbl);
1336 this->masterPanel->Controls->Add(this->label12);
1337 this->masterPanel->Controls->Add(this->rightVolBar);
1338 this->masterPanel->Controls->Add(this->leftVolBar);
1339 this->masterPanel->Controls->Add(this->masterVolLbl);
1340 this->masterPanel->Controls->Add(this->label11);
1341 this->masterPanel->Controls->Add(this->masterVolBar);
1342 this->masterPanel->Location = System::Drawing::Point(470, 189);
1343 this->masterPanel->Name = L"masterPanel";
1344 this->masterPanel->Size = System::Drawing::Size(327, 242);
1345 this->masterPanel->TabIndex = 6;
1346 //
1347 // rateLbl
1348 //
1349 this->rateLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1350 this->rateLbl->BackColor = System::Drawing::Color::Transparent;
1351 this->rateLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1352 static_cast<System::Byte>(161)));
1353 this->rateLbl->ForeColor = System::Drawing::Color::White;
1354 this->rateLbl->Location = System::Drawing::Point(276, 24);
1355 this->rateLbl->Name = L"rateLbl";
1356 this->rateLbl->Size = System::Drawing::Size(30, 14);
1357 this->rateLbl->TabIndex = 29;
1358 this->rateLbl->Text = L"100";
1359 this->rateLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1360 //
1361 // tempoLbl
1362 //
1363 this->tempoLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1364 this->tempoLbl->BackColor = System::Drawing::Color::Transparent;
1365 this->tempoLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1366 static_cast<System::Byte>(161)));
1367 this->tempoLbl->ForeColor = System::Drawing::Color::White;
1368 this->tempoLbl->Location = System::Drawing::Point(234, 24);
1369 this->tempoLbl->Name = L"tempoLbl";
1370 this->tempoLbl->Size = System::Drawing::Size(30, 14);
1371 this->tempoLbl->TabIndex = 28;
1372 this->tempoLbl->Text = L"100";
1373 this->tempoLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1374 //
1375 // pitchLbl
1376 //
1377 this->pitchLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1378 this->pitchLbl->BackColor = System::Drawing::Color::Transparent;
1379 this->pitchLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1380 static_cast<System::Byte>(161)));
1381 this->pitchLbl->ForeColor = System::Drawing::Color::White;
1382 this->pitchLbl->Location = System::Drawing::Point(194, 24);
1383 this->pitchLbl->Name = L"pitchLbl";
1384 this->pitchLbl->Size = System::Drawing::Size(30, 14);
1385 this->pitchLbl->TabIndex = 27;
1386 this->pitchLbl->Text = L"100";
1387 this->pitchLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1388 //
1389 // label13
1390 //
1391 this->label13->AutoSize = true;
1392 this->label13->BackColor = System::Drawing::Color::Transparent;
1393 this->label13->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1394 static_cast<System::Byte>(161)));
1395 this->label13->ForeColor = System::Drawing::Color::LightBlue;
1396 this->label13->Location = System::Drawing::Point(193, 4);
1397 this->label13->Name = L"label13";
1398 this->label13->Size = System::Drawing::Size(117, 15);
1399 this->label13->TabIndex = 26;
1400 this->label13->Text = L"Pitch Tempo Rate";
1401 //
1402 // rateValBar
1403 //
1404 this->rateValBar->BackColor = System::Drawing::Color::Black;
1405 this->rateValBar->Location = System::Drawing::Point(280, 40);
1406 this->rateValBar->Maximum = 200;
1407 this->rateValBar->Name = L"rateValBar";
1408 this->rateValBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1409 this->rateValBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1410 this->rateValBar->RightToLeftLayout = true;
1411 this->rateValBar->Size = System::Drawing::Size(45, 200);
1412 this->rateValBar->TabIndex = 25;
1413 this->rateValBar->Value = 100;
1414 this->rateValBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::rateValBar_Scroll);
1415 //
1416 // tempoValBar
1417 //
1418 this->tempoValBar->BackColor = System::Drawing::Color::Black;
1419 this->tempoValBar->Location = System::Drawing::Point(240, 40);
1420 this->tempoValBar->Maximum = 200;
1421 this->tempoValBar->Name = L"tempoValBar";
1422 this->tempoValBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1423 this->tempoValBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1424 this->tempoValBar->RightToLeftLayout = true;
1425 this->tempoValBar->Size = System::Drawing::Size(45, 200);
1426 this->tempoValBar->TabIndex = 24;
1427 this->tempoValBar->Value = 100;
1428 this->tempoValBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::tempoValBar_Scroll);
1429 //
1430 // pitchValBar
1431 //
1432 this->pitchValBar->BackColor = System::Drawing::Color::Black;
1433 this->pitchValBar->Location = System::Drawing::Point(200, 40);
1434 this->pitchValBar->Maximum = 200;
1435 this->pitchValBar->Name = L"pitchValBar";
1436 this->pitchValBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1437 this->pitchValBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1438 this->pitchValBar->RightToLeftLayout = true;
1439 this->pitchValBar->Size = System::Drawing::Size(45, 200);
1440 this->pitchValBar->TabIndex = 23;
1441 this->pitchValBar->Value = 100;
1442 this->pitchValBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::pitchValBar_Scroll);
1443 //
1444 // rightVolLbl
1445 //
1446 this->rightVolLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1447 this->rightVolLbl->BackColor = System::Drawing::Color::Transparent;
1448 this->rightVolLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1449 static_cast<System::Byte>(161)));
1450 this->rightVolLbl->ForeColor = System::Drawing::Color::White;
1451 this->rightVolLbl->Location = System::Drawing::Point(140, 24);
1452 this->rightVolLbl->Name = L"rightVolLbl";
1453 this->rightVolLbl->Size = System::Drawing::Size(30, 14);
1454 this->rightVolLbl->TabIndex = 22;
1455 this->rightVolLbl->Text = L"100";
1456 this->rightVolLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1457 //
1458 // leftVolLbl
1459 //
1460 this->leftVolLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1461 this->leftVolLbl->BackColor = System::Drawing::Color::Transparent;
1462 this->leftVolLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1463 static_cast<System::Byte>(161)));
1464 this->leftVolLbl->ForeColor = System::Drawing::Color::White;
1465 this->leftVolLbl->Location = System::Drawing::Point(87, 24);
1466 this->leftVolLbl->Name = L"leftVolLbl";
1467 this->leftVolLbl->Size = System::Drawing::Size(30, 14);
1468 this->leftVolLbl->TabIndex = 21;
1469 this->leftVolLbl->Text = L"100";
1470 this->leftVolLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1471 //
1472 // label12
1473 //
1474 this->label12->AutoSize = true;
1475 this->label12->BackColor = System::Drawing::Color::Transparent;
1476 this->label12->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1477 static_cast<System::Byte>(161)));
1478 this->label12->ForeColor = System::Drawing::Color::LightBlue;
1479 this->label12->Location = System::Drawing::Point(95, 4);
1480 this->label12->Name = L"label12";
1481 this->label12->Size = System::Drawing::Size(73, 15);
1482 this->label12->TabIndex = 20;
1483 this->label12->Text = L"L VOL R ";
1484 //
1485 // rightVolBar
1486 //
1487 this->rightVolBar->BackColor = System::Drawing::Color::Black;
1488 this->rightVolBar->Location = System::Drawing::Point(122, 40);
1489 this->rightVolBar->Maximum = 100;
1490 this->rightVolBar->Name = L"rightVolBar";
1491 this->rightVolBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1492 this->rightVolBar->RightToLeft = System::Windows::Forms::RightToLeft::Yes;
1493 this->rightVolBar->RightToLeftLayout = true;
1494 this->rightVolBar->Size = System::Drawing::Size(45, 200);
1495 this->rightVolBar->TabIndex = 19;
1496 this->rightVolBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::leftRightVolBar_Scroll);
1497 //
1498 // leftVolBar
1499 //
1500 this->leftVolBar->BackColor = System::Drawing::Color::Black;
1501 this->leftVolBar->Location = System::Drawing::Point(93, 40);
1502 this->leftVolBar->Maximum = 100;
1503 this->leftVolBar->Name = L"leftVolBar";
1504 this->leftVolBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1505 this->leftVolBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1506 this->leftVolBar->Size = System::Drawing::Size(45, 200);
1507 this->leftVolBar->TabIndex = 18;
1508 this->leftVolBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::leftRightVolBar_Scroll);
1509 //
1510 // masterVolLbl
1511 //
1512 this->masterVolLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1513 this->masterVolLbl->BackColor = System::Drawing::Color::Transparent;
1514 this->masterVolLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1515 static_cast<System::Byte>(161)));
1516 this->masterVolLbl->ForeColor = System::Drawing::Color::White;
1517 this->masterVolLbl->Location = System::Drawing::Point(14, 24);
1518 this->masterVolLbl->Name = L"masterVolLbl";
1519 this->masterVolLbl->Size = System::Drawing::Size(30, 14);
1520 this->masterVolLbl->TabIndex = 17;
1521 this->masterVolLbl->Text = L"100";
1522 this->masterVolLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1523 //
1524 // label11
1525 //
1526 this->label11->AutoSize = true;
1527 this->label11->BackColor = System::Drawing::Color::Transparent;
1528 this->label11->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1529 static_cast<System::Byte>(161)));
1530 this->label11->ForeColor = System::Drawing::Color::LightBlue;
1531 this->label11->Location = System::Drawing::Point(-2, 4);
1532 this->label11->Name = L"label11";
1533 this->label11->Size = System::Drawing::Size(86, 15);
1534 this->label11->TabIndex = 16;
1535 this->label11->Text = L"MASTER VOL ";
1536 //
1537 // masterVolBar
1538 //
1539 this->masterVolBar->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1540 this->masterVolBar->Location = System::Drawing::Point(19, 40);
1541 this->masterVolBar->Maximum = 100;
1542 this->masterVolBar->Name = L"masterVolBar";
1543 this->masterVolBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1544 this->masterVolBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1545 this->masterVolBar->Size = System::Drawing::Size(45, 200);
1546 this->masterVolBar->TabIndex = 0;
1547 this->masterVolBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::masterVolBar_Scroll);
1548 //
1549 // prevTrackBtn
1550 //
1551 this->prevTrackBtn->Location = System::Drawing::Point(185, 15);
1552 this->prevTrackBtn->Name = L"prevTrackBtn";
1553 this->prevTrackBtn->Size = System::Drawing::Size(75, 23);
1554 this->prevTrackBtn->TabIndex = 3;
1555 this->prevTrackBtn->Text = L"<<";
1556 this->prevTrackBtn->UseVisualStyleBackColor = true;
1557 this->prevTrackBtn->Click += gcnew System::EventHandler(this, &PlayerForm::prevTrackBtn_Click);
1558 //
1559 // nextTrackBtn
1560 //
1561 this->nextTrackBtn->Location = System::Drawing::Point(301, 15);
1562 this->nextTrackBtn->Name = L"nextTrackBtn";
1563 this->nextTrackBtn->Size = System::Drawing::Size(75, 23);
1564 this->nextTrackBtn->TabIndex = 4;
1565 this->nextTrackBtn->Text = L">>";
1566 this->nextTrackBtn->UseVisualStyleBackColor = true;
1567 this->nextTrackBtn->Click += gcnew System::EventHandler(this, &PlayerForm::nextTrackBtn_Click);
1568 //
1569 // PlayerForm
1570 //
1571 this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
1572 this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
1573 this->ClientSize = System::Drawing::Size(879, 436);
1574 this->Controls->Add(this->masterPanel);
1575 this->Controls->Add(this->backPanel);
1576 this->Controls->Add(this->vuPanel1);
1577 this->Controls->Add(this->playBtnPanel);
1578 this->Controls->Add(this->pathLbl);
1579 this->Controls->Add(this->dirBtn);
1580 this->Controls->Add(this->trackList);
1581 this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::Fixed3D;
1582 this->MaximizeBox = false;
1583 this->Name = L"PlayerForm";
1584 this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen;
1585 this->Text = L"My Player";
1586 this->FormClosed += gcnew System::Windows::Forms::FormClosedEventHandler(this, &PlayerForm::PlayerForm_FormClosed);
1587 this->playBtnPanel->ResumeLayout(false);
1588 this->playBtnPanel->PerformLayout();
1589 this->vuPanel1->ResumeLayout(false);
1590 this->vuPanel1->PerformLayout();
1591 this->backPanel->ResumeLayout(false);
1592 this->equPanel->ResumeLayout(false);
1593 this->equPanel->PerformLayout();
1594 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b8))->EndInit();
1595 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b7))->EndInit();
1596 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b6))->EndInit();
1597 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b5))->EndInit();
1598 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b4))->EndInit();
1599 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b3))->EndInit();
1600 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b2))->EndInit();
1601 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b1))->EndInit();
1602 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->b0))->EndInit();
1603 this->masterPanel->ResumeLayout(false);
1604 this->masterPanel->PerformLayout();
1605 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->rateValBar))->EndInit();
1606 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->tempoValBar))->EndInit();
1607 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->pitchValBar))->EndInit();
1608 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->rightVolBar))->EndInit();
1609 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->leftVolBar))->EndInit();
1610 (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->masterVolBar))->EndInit();
1611 this->ResumeLayout(false);
1612 this->PerformLayout();
1613
1614 }
1615 #pragma endregion
1616
1617 /// Folder path button click
1618 private: System::Void dirBtn_Click(System::Object^ sender, System::EventArgs^ e)
1619 {
1620 folderBrowserDialog->ShowDialog();
1621 soundsDirPath = folderBrowserDialog->SelectedPath->ToString();
1622 print(soundsDirPath);
1623 loadTracks();
1624 }
1625
1626 /// Close programm event
1627 private: System::Void PlayerForm_FormClosed(System::Object^ sender, System::Windows::Forms::FormClosedEventArgs^ e)
1628 {
1629 //player.~ZPlay();
1630 updateTimer->Stop();
1631 resourceWrite();
1632 print("Programm closed");
1633 }
1634
1635 /// Track list selected event
1636 private: System::Void trackList_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)
1637 {
1638
1639 }
1640
1641 /// Track list double click
1642 private: System::Void trackList_MouseDoubleClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
1643 {
1644 trackName = trackList->SelectedItem->ToString();
1645 playingTrack = soundsDirPath + "/" + trackName;
1646 trackListIndex = trackList->SelectedIndex;
1647 loadTrackFile(playingTrack);
1648 if (player != nullptr) { startPlayer(); }
1649 }
1650
1651 /// Update timer tick
1652 private: System::Void updateTimer_Tick(System::Object^ sender, System::EventArgs^ e)
1653 {
1654 visCounter++;
1655 if (visCounter > 1.5)
1656 {
1657 statusLbl->Visible = !statusLbl->Visible;
1658 visCounter = 0;
1659 }
1660 getPosition();
1661 vuMeter();
1662 }
1663
1664 /// Play button click
1665 private: System::Void playStopBtn_Click(System::Object^ sender, System::EventArgs^ e)
1666 {
1667 if (playingTrack == "") { return; }
1668 player->GetStatus(statusInfo);
1669 if (!statusInfo.fPlay || statusInfo.fPause) { startPlayer(); }
1670 else { stopPlayer(); }
1671 }
1672
1673 /// Pause button click
1674 private: System::Void pauseBtn_Click(System::Object^ sender, System::EventArgs^ e)
1675 {
1676 pausePlayer();
1677 }
1678
1679 /// Bar traxk position mous click event
1680 private: System::Void barPosBack_MouseClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
1681 {
1682 setTrackPosition();
1683 }
1684
1685 /// Equalizer button change event
1686 private: System::Void band_ValueChanged(System::Object^ sender, System::EventArgs^ e)
1687 {
1688 for each (Control^ control in equPanel->Controls)
1689 {
1690 if (control->Name->IndexOf("b") == 0)
1691 {
1692 int numBand = 0;
1693 int::TryParse(control->Name->Substring(1), numBand);
1694 TrackBar^ bar = dynamic_cast<TrackBar^> (control);
1695 equalizerChange(numBand, (bar->Value) * 1000);
1696 }
1697
1698 }
1699
1700 }
1701
1702 /// Equalizer enable check event
1703 private: System::Void equCheck_CheckedChanged(System::Object^ sender, System::EventArgs^ e)
1704 {
1705 if (player != nullptr)
1706 {
1707 equalizerEnable(equCheck->Checked);
1708 }
1709 }
1710
1711 /// Flat equalizer button click
1712 private: System::Void equFlatBtn_Click(System::Object^ sender, System::EventArgs^ e)
1713 {
1714 equalizerFlat();
1715 }
1716
1717 /// Master volemu change
1718 private: System::Void masterVolBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1719 {
1720 setMasterVolume(masterVolBar->Value);
1721 //print("volume");
1722 }
1723
1724 /// Left Right volume change
1725 private: System::Void leftRightVolBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1726 {
1727 setLeftRightVolume(leftVolBar->Value, rightVolBar->Value);
1728 }
1729
1730 /// Pitch change
1731 private: System::Void pitchValBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1732 {
1733 setPTR('P', pitchValBar->Value);
1734 }
1735
1736 /// Tempo change
1737 private: System::Void tempoValBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1738 {
1739 setPTR('T', tempoValBar->Value);
1740 }
1741
1742 /// Rate change
1743 private: System::Void rateValBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1744 {
1745 setPTR('R', rateValBar->Value);
1746 }
1747
1748 /// Previous track click button
1749 private: System::Void prevTrackBtn_Click(System::Object^ sender, System::EventArgs^ e)
1750 {
1751 previousTrack();
1752 }
1753
1754 /// Next track click button
1755 private: System::Void nextTrackBtn_Click(System::Object^ sender, System::EventArgs^ e)
1756 {
1757 nextTrack();
1758 }
1759 };
1760
1761
1762
1763 }